MySQL top count({column}) with a limit
        Posted  
        
            by Josh K
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Josh K
        
        
        
        Published on 2010-04-29T02:10:18Z
        Indexed on 
            2010/04/29
            2:17 UTC
        
        
        Read the original article
        Hit count: 437
        
I have a table with an ip address column. I would like to find the top five addresses which are listed.
Right now I'm planning it out the following:
- Select all distinct ip addresses
- Loop through them all saying count(id) where IP='{ip}'and storing the count
- List the top five counts.
Downsides include what if I have 500 ip addresses. That's 500 queries I have to run to figure out what are the top five.
I'd like to build a query like so
select ip from table where 1 order by count({distinct ip}) asc limit 5
© Stack Overflow or respective owner